c language programming problems